var express = require('express');
var router = express.Router();
var User = require('../db/user');
var zjxModel = require('../db/zjx');

// 登录接口
router.post('/login', async function (req, res) {
  try {
    const { phone, password } = req.body || {};
    if (!phone || !password) {
      return res.status(200).json({ code: 400, msg: '手机号与密码必填' });
    }

    // 首先从zjx数据库中查找用户（新注册的用户）
    let user = await zjxModel.findOne({ phone: String(phone) }).lean();
    
    // 如果zjx数据库中没有找到，再从user数据库中查找（兼容旧用户）
    if (!user) {
      user = await User.findOne({ phone: String(phone) }).lean();
    }
    
    if (!user || user.password !== String(password)) {
      return res.status(200).json({ code: 400, msg: '手机号或密码错误' });
    }

    // 简化：返回伪 token 与过期信息（前端只需展示与倒计时）
    const accessToken = 'acc_' + Date.now();
    const refreshToken = 'ref_' + Date.now();
    const expiresIn = 15 * 60; // 15分钟（秒）
    const refreshExpiresIn = 7 * 24 * 60 * 60; // 7天（秒）

    return res.status(200).json({
      code: 200,
      msg: 'ok',
      data: {
        accessToken,
        refreshToken,
        expiresIn,
        refreshExpiresIn,
        userInfo: {
          id: String(user._id),
          phone: user.phone,
          nickName: user.name || user.nickname || '用户' + String(user.phone).slice(-4),
          phonenumber: user.phone,
          avatar: user.avatar || '/static/app/icons/120x120.png'
        }
      }
    });
  } catch (err) {
    console.error('login error:', err);
    return res.status(200).json({ code: 500, msg: '服务器错误' });
  }
});

module.exports = router;


